Power management is an important feature in computer design. Power consumption and related cooling costs are a significant portion of the operation of computer systems. Thus, since units operating at high clock frequencies in a computer system (e.g., central processing units (CPUs), main memories (e.g., random access memories (RAMs)) and chipsets) typically consume more power than other units, these components typically enter a low power state (e.g., power shut down) when not in use and exit the power state once operation is to resume.
However whenever a CPU transitions from an active power state to the lower power state, a flushing of the processor cache memories is necessary. The time to flush the cache memory is typically proportional to its size. Thus, a larger cache takes more time to flush than a smaller cache. A flushing operation is a processor expensive operation, which requires a Modified-Exclusive-Shared-Invalid (MESI) state of each line of cache to be read and flushed if necessary. During the flushing operation the CPU core remains in active state, without having an ability to perform useful operations besides the flush. As a result, the cache flush is slows the CPU's entry into the low power mode.